﻿from Clientes import *
import os
from EntradadeDados import *
from SaidadeDados import *

class CadastroClientes ():

     def __init__ (self):
          self._clientes = []
          arquivo = open ('Clientes.txt', 'r')
          self._clientes = arquivo.readlines ()   
          arquivo.close ()

     def getClientes (self):          
          return self._clientes

     def setClientes(self, clientes):
          self._clientes = clientes

     def adicionarCliente (self, nome, cpf, pontos, localdoparque):

          novocliente = Cliente (nome, cpf, pontos, localdoparque)
          for cliente in self._clientes:
               dados_cliente = cliente.rsplit ('\t\t')
               if dados_cliente [1] == cpf:
                    print ('\nO cadastro já existe!\n')
                    break
          else:
               self._clientes.append (str (novocliente.getNome ()) + '\t\t' + str (novocliente.getCpf ()) + '\t\t' + str (novocliente.getPontos ()) + '\t\t' + str (novocliente.getLocaldoparque ()) + '\n')
               self.imprimirEmArquivo (self._clientes)
               print ('\nCadastro realizado com sucesso!\n')

     def imprimirEmArquivo (self,lista):
          arquivo = open ('Clientes.txt', 'w')
          arquivo.writelines (lista)
          arquivo.close () 

# PESQUISA CADASTRO DE CADA CLIENTE DE ACORDO COM O CPF DIGITADO
     def pesquisarCliente (self):
         cpf = input ('\nDigite o cpf do cliente: ')
         for cliente in self._clientes:
              dados_cliente = cliente.rsplit ('\t\t')
              if dados_cliente[1] == cpf:
                   print (cliente) 
              
     
# ALTERA PONTOS DO CADASTRO DE ACORDO COM O CPF DO CLIENTE.
                   
     def alterarPontosCliente (self):            

          cpf = input ('\nDigite o cpf do cliente: ')
     
          for cliente in self._clientes:
               dados_cliente = cliente.rsplit ('\t\t')
               
               if dados_cliente [1] == cpf:
                    novopontos = EntradadeDados ().entradaPontos ()
                    dados_cliente [2] = str (novopontos)
                    self._clientes.remove (cliente)
                    self._clientes.append (dados_cliente [0] +'\t\t' + dados_cliente [1] + '\t\t' + dados_cliente [2] + '\t\t' + dados_cliente [3] + '\n')
                    self.imprimirEmArquivo (self._clientes)
                    print ('\nAlteração realizada com sucesso!\n')
                    break



               
          
# REMOVE CADASTRO DO CLIENTE DE ACORDO COM O CPF DIGITADO.
     
     def removerCadastroCliente (self, cpf):
     
         arquivo=open("clientes.txt","r")
         lista=arquivo.readlines()                
         arquivo.close()

         for linha in lista:
             if (cpf in linha):
                 lista.remove(linha)               
                 print("cadastro removido com sucesso")
                 break
         else:
             print("cadastro não encontrado") 

         arquivo=open("clientes.txt","w")       
         arquivo.writelines(lista)
         arquivo.close()
               

     def exibirCadastroClientes(self, lista):
         
         arquivo= open("clientes.txt","r")
         lista=arquivo.read()
         print(lista)
         print ('koker coisa')
         arquivo.close() 
               



